Software visualization typically refers to the visualization of software systems, such as the source code of a software system. Existing software visualization tools typically employ a static analysis of the source code to obtain a representation of the structure, execution and/or behavior of the source code. Software visualization tools typically process software traces that record execution behavior to generate the representation of the source code.
The source code representations generated by software visualization tools may be employed, for example, to (i) educate a software engineer assigned to work on a complex software application; and/or (ii) generate and/or update technical documentation of a software application. Different use cases of the same software application, however, can have different code execution paths, increasing the complexity of the data flow diagrams to be maintained.
A need therefore exists for improved techniques for the visualization of the execution of software.